﻿using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Collections;
using System.Data;
using System.ComponentModel;
using System.Data.OracleClient;
namespace INTEX.DataBase.Tools
{
    public partial class INTEXDBC
    {
        public DataRow Convert2APZUORD(DataRow dwInput, string AUF, bool IsConvert = false)
        {
            DataSet SResult = new DataSet();
            SResult = QueryAPZUORD(dwInput, 0);
            DataRow dwReturn = null;
            if (SResult.Tables[0].Rows.Count > 0)
            {
                dwReturn = SResult.Tables[0].Rows[0];
            }
            else
            {
                dwReturn = SResult.Tables[0].NewRow();
            }
            switch (AUF)
            {
                case "YGR":
                case "JLT":
                default:
                    dwReturn["APZMANDANT"] = "00";
                    dwReturn["APZKUNDNR"] = "00000000";
                    dwReturn["APZWERK"] = "   ";
                    dwReturn["APZABT"] = "   ";
                    dwReturn["APZART"] = "                    ";
                    dwReturn["APZVAR"] = "   ";
                    dwReturn["APZANRKRS"] = "  ";
                    dwReturn["APZALFDNR"] = "000000";
                    dwReturn["APZSTUFE"] = " ";
                    dwReturn["APZSPEZIF"] = "                                                  ";
                    dwReturn["APZSPSTA"] = "N";
                    dwReturn["APZSPGRD"] = "                              ";
                    dwReturn["APZSTDKALK"] = "N";
                    dwReturn["APZZUSTAND"] = "    ";
                    dwReturn["APZZUSATZ1"] = "          ";
                    dwReturn["APZZUSATZKZ1"] = "  ";
                    dwReturn["APZZUSATZ2"] = "          ";
                    dwReturn["APZZUSATZKZ2"] = "  ";
                    dwReturn["APZZUSATZ3"] = "          ";
                    dwReturn["APZZUSATZKZ3"] = "  ";
                    dwReturn["APZZUSATZ4"] = "          ";
                    dwReturn["APZZUSATZKZ4"] = "  ";
                    dwReturn["APZZUSATZ5"] = "          ";
                    dwReturn["APZZUSATZKZ5"] = "  ";
                    dwReturn["APZZUSATZ6"] = "          ";
                    dwReturn["APZZUSATZKZ6"] = "  ";
                    dwReturn["APZZUSATZ7"] = "          ";
                    dwReturn["APZZUSATZKZ7"] = "  ";
                    dwReturn["APZZUSATZ8"] = "          ";
                    dwReturn["APZZUSATZKZ8"] = "  ";
                    dwReturn["APZZUSATZ9"] = "          ";
                    dwReturn["APZZUSATZKZ9"] = "  ";
                    dwReturn["APZZUSATZ10"] = "          ";
                    dwReturn["APZZUSATZKZ10"] = "  ";
                    dwReturn["APZZUSATZ11"] = "          ";
                    dwReturn["APZZUSATZKZ11"] = "  ";
                    dwReturn["APZZUSATZ12"] = "          ";
                    dwReturn["APZZUSATZKZ12"] = "  ";
                    dwReturn["APZZUSATZ13"] = "          ";
                    dwReturn["APZZUSATZKZ13"] = "  ";
                    dwReturn["APZZUSATZ14"] = "          ";
                    dwReturn["APZZUSATZKZ14"] = "  ";
                    dwReturn["APZZUSATZ15"] = "          ";
                    dwReturn["APZZUSATZKZ15"] = "  ";
                    dwReturn["APZZUSATZ16"] = "          ";
                    dwReturn["APZZUSATZKZ16"] = "  ";
                    dwReturn["APZZUSATZ17"] = "          ";
                    dwReturn["APZZUSATZKZ17"] = "  ";
                    dwReturn["APZZUSATZ18"] = "          ";
                    dwReturn["APZZUSATZKZ18"] = "  ";
                    dwReturn["APZZUSATZ19"] = "          ";
                    dwReturn["APZZUSATZKZ19"] = "  ";
                    dwReturn["APZZUSATZ20"] = "          ";
                    dwReturn["APZZUSATZKZ20"] = "  ";
                    dwReturn["APZZUSATZ21"] = "          ";
                    dwReturn["APZZUSATZKZ21"] = "  ";
                    dwReturn["APZZUSATZ22"] = "          ";
                    dwReturn["APZZUSATZKZ22"] = "  ";
                    dwReturn["APZZUSATZ23"] = "          ";
                    dwReturn["APZZUSATZKZ23"] = "  ";
                    dwReturn["APZZUSATZ24"] = "          ";
                    dwReturn["APZZUSATZKZ24"] = "  ";
                    dwReturn["APZZUSATZ25"] = "          ";
                    dwReturn["APZZUSATZKZ25"] = "  ";
                    dwReturn["APZZUSATZ26"] = "          ";
                    dwReturn["APZZUSATZKZ26"] = "  ";
                    dwReturn["APZZUSATZ27"] = "          ";
                    dwReturn["APZZUSATZKZ27"] = "  ";
                    dwReturn["APZZUSATZ28"] = "          ";
                    dwReturn["APZZUSATZKZ28"] = "  ";
                    dwReturn["APZZUSATZ29"] = "          ";
                    dwReturn["APZZUSATZKZ29"] = "  ";
                    dwReturn["APZZUSATZ30"] = "          ";
                    dwReturn["APZZUSATZKZ30"] = "  ";
                    dwReturn["APZZUSATZ31"] = "          ";
                    dwReturn["APZZUSATZKZ31"] = "  ";
                    dwReturn["APZZUSATZ32"] = "          ";
                    dwReturn["APZZUSATZKZ32"] = "  ";
                    dwReturn["APZZUSATZ33"] = "          ";
                    dwReturn["APZZUSATZKZ33"] = "  ";
                    dwReturn["APZZUSATZ34"] = "          ";
                    dwReturn["APZZUSATZKZ34"] = "  ";
                    dwReturn["APZZUSATZ35"] = "          ";
                    dwReturn["APZZUSATZKZ35"] = "  ";
                    dwReturn["APZZUSATZ36"] = "          ";
                    dwReturn["APZZUSATZKZ36"] = "  ";
                    dwReturn["APZZUSATZ37"] = "          ";
                    dwReturn["APZZUSATZKZ37"] = "  ";
                    dwReturn["APZZUSATZ38"] = "          ";
                    dwReturn["APZZUSATZKZ38"] = "  ";
                    dwReturn["APZZUSATZ39"] = "          ";
                    dwReturn["APZZUSATZKZ39"] = "  ";
                    dwReturn["APZZUSATZ40"] = "          ";
                    dwReturn["APZZUSATZKZ40"] = "  ";
                    dwReturn["APZZUSATZ41"] = "          ";
                    dwReturn["APZZUSATZKZ41"] = "  ";
                    dwReturn["APZZUSATZ42"] = "          ";
                    dwReturn["APZZUSATZKZ42"] = "  ";
                    dwReturn["APZZUSATZ43"] = "          ";
                    dwReturn["APZZUSATZKZ43"] = "  ";
                    dwReturn["APZZUSATZ44"] = "          ";
                    dwReturn["APZZUSATZKZ44"] = "  ";
                    dwReturn["APZZUSATZ45"] = "          ";
                    dwReturn["APZZUSATZKZ45"] = "  ";
                    dwReturn["APZZUSATZ46"] = "          ";
                    dwReturn["APZZUSATZKZ46"] = "  ";
                    dwReturn["APZZUSATZ47"] = "          ";
                    dwReturn["APZZUSATZKZ47"] = "  ";
                    dwReturn["APZZUSATZ48"] = "          ";
                    dwReturn["APZZUSATZKZ48"] = "  ";
                    dwReturn["APZZUSATZ49"] = "          ";
                    dwReturn["APZZUSATZKZ49"] = "  ";
                    dwReturn["APZZUSATZ50"] = "          ";
                    dwReturn["APZZUSATZKZ50"] = "  ";
                    dwReturn["APZZANRKRS1"] = "  ";
                    dwReturn["APZZALFDNR1"] = "000000";
                    dwReturn["APZZAKZ1"] = " ";
                    dwReturn["APZZANRKRS2"] = "  ";
                    dwReturn["APZZALFDNR2"] = "000000";
                    dwReturn["APZZAKZ2"] = " ";
                    dwReturn["APZZANRKRS3"] = "  ";
                    dwReturn["APZZALFDNR3"] = "000000";
                    dwReturn["APZZAKZ3"] = " ";
                    dwReturn["APZZANRKRS4"] = "  ";
                    dwReturn["APZZALFDNR4"] = "000000";
                    dwReturn["APZZAKZ4"] = " ";
                    dwReturn["APZPRIO"] = "0";
                    dwReturn["APZAENDZL"] = "0";
                    dwReturn["APZAENDBEN"] = "        ";
                    dwReturn["APZAENDDAT"] = "0";
                    dwReturn["APZNEUBEN"] = "JAKV    ";
                    dwReturn["APZNEUDAT"] = "20140903";
                    dwReturn["APZFILLER"] = "                                                 ";

                    break;
            }
            if (IsConvert)
            {
                foreach (DataColumn cm in dwInput.Table.Columns)
                {
                    if (dwInput[cm.ColumnName].ToString() == "")
                        continue;
                    if (dwReturn.Table.Columns.Contains(cm.ColumnName))
                    {
                        dwReturn[cm.ColumnName] = dwInput[cm.ColumnName];
                    }
                }
            }
            return dwReturn;
        }
        public void MapAPZUORD(ref DataRow dwLocal, DataRow dwData)
        {
            BlindMap(ref dwLocal, dwData);
        }
        public void SaveAPZUORD(DataRow dwData, DataRow dwDispo)
        {
            DataSet setResult = new DataSet();
            DataTable tbLocal = null;
            DataRow dwLocal = null;
            bool flgExist = false;
            setResult = QueryAPZUORD(dwData);
            if (setResult.Tables.Count > 0)
            {
                tbLocal = setResult.Tables[0];
                if (tbLocal.Rows.Count > 0)
                {
                    flgExist = true;
                    dwLocal = tbLocal.Rows[0];
                }
                else
                {
                    dwLocal = tbLocal.NewRow();
                }
            }

            MapAPZUORD(ref dwLocal, dwData);

            if (!flgExist)
            {
                InserAPZUORD(dwLocal);
                string apkrs = dwLocal["APZANRKRS"].ToString();
                string apdnr = dwLocal["APZALFDNR"].ToString();
                RefreshAPKOPF(apkrs, apdnr);
            }
            UpdateAPZUORD(dwLocal);
        }
        public void InserAPZUORD(DataRow dwData, string ITXDBVERSION = "50.24")
        {
            //APZMANDANT APZART APZVAR APZANRKRS APZALFDNR APZSTUFE
            OracleCommand or1;

            or1 = OracleDB.CreateCommand();
            or1.CommandText = "INSERT INTO APZUORD(APZMANDANT, APZKUNDNR, APZWERK, APZABT, APZART, APZVAR, APZANRKRS, APZALFDNR, APZSTUFE, APZSPEZIF, APZSPSTA, APZSPGRD, APZSTDKALK, APZZUSTAND, APZZUSATZ1, APZZUSATZKZ1, APZZUSATZ2, APZZUSATZKZ2, APZZUSATZ3, APZZUSATZKZ3, APZZUSATZ4, APZZUSATZKZ4, APZZUSATZ5, APZZUSATZKZ5, APZZUSATZ6, APZZUSATZKZ6, APZZUSATZ7, APZZUSATZKZ7, APZZUSATZ8, APZZUSATZKZ8, APZZUSATZ9, APZZUSATZKZ9, APZZUSATZ10, APZZUSATZKZ10, APZZUSATZ11, APZZUSATZKZ11, APZZUSATZ12, APZZUSATZKZ12, APZZUSATZ13, APZZUSATZKZ13, APZZUSATZ14, APZZUSATZKZ14, APZZUSATZ15, APZZUSATZKZ15, APZZUSATZ16, APZZUSATZKZ16, APZZUSATZ17, APZZUSATZKZ17, APZZUSATZ18, APZZUSATZKZ18, APZZUSATZ19, APZZUSATZKZ19, APZZUSATZ20, APZZUSATZKZ20, APZZUSATZ21, APZZUSATZKZ21, APZZUSATZ22, APZZUSATZKZ22, APZZUSATZ23, APZZUSATZKZ23, APZZUSATZ24, APZZUSATZKZ24, APZZUSATZ25, APZZUSATZKZ25, APZZUSATZ26, APZZUSATZKZ26, APZZUSATZ27, APZZUSATZKZ27, APZZUSATZ28, APZZUSATZKZ28, APZZUSATZ29, APZZUSATZKZ29, APZZUSATZ30, APZZUSATZKZ30, APZZUSATZ31, APZZUSATZKZ31, APZZUSATZ32, APZZUSATZKZ32, APZZUSATZ33, APZZUSATZKZ33, APZZUSATZ34, APZZUSATZKZ34, APZZUSATZ35, APZZUSATZKZ35, APZZUSATZ36, APZZUSATZKZ36, APZZUSATZ37, APZZUSATZKZ37, APZZUSATZ38, APZZUSATZKZ38, APZZUSATZ39, APZZUSATZKZ39, APZZUSATZ40, APZZUSATZKZ40, APZZUSATZ41, APZZUSATZKZ41, APZZUSATZ42, APZZUSATZKZ42, APZZUSATZ43, APZZUSATZKZ43, APZZUSATZ44, APZZUSATZKZ44, APZZUSATZ45, APZZUSATZKZ45, APZZUSATZ46, APZZUSATZKZ46, APZZUSATZ47, APZZUSATZKZ47, APZZUSATZ48, APZZUSATZKZ48, APZZUSATZ49, APZZUSATZKZ49, APZZUSATZ50, APZZUSATZKZ50, APZZANRKRS1, APZZALFDNR1, APZZAKZ1, APZZANRKRS2, APZZALFDNR2, APZZAKZ2, APZZANRKRS3, APZZALFDNR3, APZZAKZ3, APZZANRKRS4, APZZALFDNR4, APZZAKZ4, APZPRIO, APZAENDZL, APZAENDBEN, APZAENDDAT, APZNEUBEN, APZNEUDAT, APZFILLER)"
                + "VALUES (:APZMANDANT, '00000000', '   ', '   ', :APZART, :APZVAR, :APZANRKRS, :APZALFDNR, :APZSTUFE, '                                                  ', 'N', '                              ', 'N', '    ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '          ', '  ', '  ', '000000', ' ', '  ', '000000', ' ', '  ', '000000', ' ', '  ', '000000', ' ', '0', 0, '        ', 0, 'NILL    ', '20120811', '                                                 ')";
            or1.Parameters.Add("APZMANDANT", OracleType.NVarChar).Value = dwData["APZMANDANT"].ToString();
            or1.Parameters.Add("APZART", OracleType.NVarChar).Value = dwData["APZART"].ToString();
            or1.Parameters.Add("APZVAR", OracleType.NVarChar).Value = dwData["APZVAR"].ToString();
            or1.Parameters.Add("APZANRKRS", OracleType.NVarChar).Value = dwData["APZANRKRS"].ToString();
            or1.Parameters.Add("APZALFDNR", OracleType.NVarChar).Value = dwData["APZALFDNR"].ToString();
            or1.Parameters.Add("APZSTUFE", OracleType.NVarChar).Value = dwData["APZSTUFE"].ToString();
            setResult = Connect2Proxy(or1);
        }
        public void UpdateAPZUORD(DataRow dwData, string ITXDBVERSION = "50.24")
        {
            OracleCommand or1;
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "UPDATE APZUORD SET "
           + "APZZUSATZKZ46=:APZZUSATZKZ46,"
           + "APZZUSATZ47=:APZZUSATZ47,"
           + "APZZUSATZKZ47=:APZZUSATZKZ47,"
           + "APZZUSATZ48=:APZZUSATZ48,"
           + "APZZUSATZKZ48=:APZZUSATZKZ48,"
           + "APZZUSATZ49=:APZZUSATZ49,"
           + "APZZUSATZKZ49=:APZZUSATZKZ49,"
           + "APZZUSATZ50=:APZZUSATZ50,"
           + "APZZUSATZKZ50=:APZZUSATZKZ50,"
           + "APZZANRKRS1=:APZZANRKRS1,"
           + "APZZALFDNR1=:APZZALFDNR1,"
           + "APZZAKZ1=:APZZAKZ1,"
           + "APZZANRKRS2=:APZZANRKRS2,"
                + "APZZALFDNR2=:APZZALFDNR2,"
                + "APZZAKZ2=:APZZAKZ2,"
                + "APZZANRKRS3=:APZZANRKRS3,"
                + "APZZALFDNR3=:APZZALFDNR3,"
                + "APZZAKZ3=:APZZAKZ3,"
                + "APZZANRKRS4=:APZZANRKRS4,"
                + "APZZALFDNR4=:APZZALFDNR4,"
                + "APZZAKZ4=:APZZAKZ4,"
                + "APZPRIO=:APZPRIO,"
                + "APZAENDZL=:APZAENDZL,"
                + "APZAENDBEN=:APZAENDBEN,"
                + "APZAENDDAT=:APZAENDDAT,"
                + "APZNEUBEN=:APZNEUBEN,"
                + "APZNEUDAT=:APZNEUDAT,"
                + "APZFILLER=:APZFILLER,"
                + "APZMANDANT=:APZMANDANT,"
                + "APZKUNDNR=:APZKUNDNR,"
                + "APZWERK=:APZWERK,"
                + "APZABT=:APZABT,"
                + "APZART=:APZART,"
                + "APZVAR=:APZVAR,"
                + "APZANRKRS=:APZANRKRS,"
                + "APZALFDNR=:APZALFDNR,"
                + "APZSTUFE=:APZSTUFE,"
                + "APZSPEZIF=:APZSPEZIF,"
                + "APZSPSTA=:APZSPSTA,"
                + "APZSPGRD=:APZSPGRD,"
                + "APZSTDKALK=:APZSTDKALK,"
                + "APZZUSTAND=:APZZUSTAND,"
                + "APZZUSATZ1=:APZZUSATZ1,"
                + "APZZUSATZKZ1=:APZZUSATZKZ1,"
                + "APZZUSATZ2=:APZZUSATZ2,"
                + "APZZUSATZKZ2=:APZZUSATZKZ2,"
                + "APZZUSATZ3=:APZZUSATZ3,"
                + "APZZUSATZKZ3=:APZZUSATZKZ3,"
                + "APZZUSATZ4=:APZZUSATZ4,"
                + "APZZUSATZKZ4=:APZZUSATZKZ4,"
                + "APZZUSATZ5=:APZZUSATZ5,"
                + "APZZUSATZKZ5=:APZZUSATZKZ5,"
                + "APZZUSATZ6=:APZZUSATZ6,"
                + "APZZUSATZKZ6=:APZZUSATZKZ6,"
                + "APZZUSATZ7=:APZZUSATZ7,"
                + "APZZUSATZKZ7=:APZZUSATZKZ7,"
                + "APZZUSATZ8=:APZZUSATZ8,"
                + "APZZUSATZKZ8=:APZZUSATZKZ8,"
                + "APZZUSATZ9=:APZZUSATZ9,"
                + "APZZUSATZKZ9=:APZZUSATZKZ9,"
                + "APZZUSATZ10=:APZZUSATZ10,"
                + "APZZUSATZKZ10=:APZZUSATZKZ10,"
                + "APZZUSATZ11=:APZZUSATZ11,"
                + "APZZUSATZKZ11=:APZZUSATZKZ11,"
                + "APZZUSATZ12=:APZZUSATZ12,"
                + "APZZUSATZKZ12=:APZZUSATZKZ12,"
                + "APZZUSATZ13=:APZZUSATZ13,"
                + "APZZUSATZKZ13=:APZZUSATZKZ13,"
                + "APZZUSATZ14=:APZZUSATZ14,"
                + "APZZUSATZKZ14=:APZZUSATZKZ14,"
                + "APZZUSATZ15=:APZZUSATZ15,"
                + "APZZUSATZKZ15=:APZZUSATZKZ15,"
                + "APZZUSATZ16=:APZZUSATZ16,"
                + "APZZUSATZKZ16=:APZZUSATZKZ16,"
                + "APZZUSATZ17=:APZZUSATZ17,"
                + "APZZUSATZKZ17=:APZZUSATZKZ17,"
                + "APZZUSATZ18=:APZZUSATZ18,"
                + "APZZUSATZKZ18=:APZZUSATZKZ18,"
                + "APZZUSATZ19=:APZZUSATZ19,"
                + "APZZUSATZKZ19=:APZZUSATZKZ19,"
                + "APZZUSATZ20=:APZZUSATZ20,"
                + "APZZUSATZKZ20=:APZZUSATZKZ20,"
                + "APZZUSATZ21=:APZZUSATZ21,"
                + "APZZUSATZKZ21=:APZZUSATZKZ21,"
                + "APZZUSATZ22=:APZZUSATZ22,"
                + "APZZUSATZKZ22=:APZZUSATZKZ22,"
                + "APZZUSATZ23=:APZZUSATZ23,"
                + "APZZUSATZKZ23=:APZZUSATZKZ23,"
                + "APZZUSATZ24=:APZZUSATZ24,"
                + "APZZUSATZKZ24=:APZZUSATZKZ24,"
                + "APZZUSATZ25=:APZZUSATZ25,"
                + "APZZUSATZKZ25=:APZZUSATZKZ25,"
                + "APZZUSATZ26=:APZZUSATZ26,"
                + "APZZUSATZKZ26=:APZZUSATZKZ26,"
                + "APZZUSATZ27=:APZZUSATZ27,"
                + "APZZUSATZKZ27=:APZZUSATZKZ27,"
                + "APZZUSATZ28=:APZZUSATZ28,"
                + "APZZUSATZKZ28=:APZZUSATZKZ28,"
                + "APZZUSATZ29=:APZZUSATZ29,"
                + "APZZUSATZKZ29=:APZZUSATZKZ29,"
                + "APZZUSATZ30=:APZZUSATZ30,"
                + "APZZUSATZKZ30=:APZZUSATZKZ30,"
                + "APZZUSATZ31=:APZZUSATZ31,"
                + "APZZUSATZKZ31=:APZZUSATZKZ31,"
                + "APZZUSATZ32=:APZZUSATZ32,"
                + "APZZUSATZKZ32=:APZZUSATZKZ32,"
                + "APZZUSATZ33=:APZZUSATZ33,"
                + "APZZUSATZKZ33=:APZZUSATZKZ33,"
                + "APZZUSATZ34=:APZZUSATZ34,"
                + "APZZUSATZKZ34=:APZZUSATZKZ34,"
                + "APZZUSATZ35=:APZZUSATZ35,"
                + "APZZUSATZKZ35=:APZZUSATZKZ35,"
                + "APZZUSATZ36=:APZZUSATZ36,"
                + "APZZUSATZKZ36=:APZZUSATZKZ36,"
                + "APZZUSATZ37=:APZZUSATZ37,"
                + "APZZUSATZKZ37=:APZZUSATZKZ37,"
                + "APZZUSATZ38=:APZZUSATZ38,"
                + "APZZUSATZKZ38=:APZZUSATZKZ38,"
                + "APZZUSATZ39=:APZZUSATZ39,"
                + "APZZUSATZKZ39=:APZZUSATZKZ39,"
                + "APZZUSATZ40=:APZZUSATZ40,"
                + "APZZUSATZKZ40=:APZZUSATZKZ40,"
                + "APZZUSATZ41=:APZZUSATZ41,"
                + "APZZUSATZKZ41=:APZZUSATZKZ41,"
                + "APZZUSATZ42=:APZZUSATZ42,"
                + "APZZUSATZKZ42=:APZZUSATZKZ42,"
                + "APZZUSATZ43=:APZZUSATZ43,"
                + "APZZUSATZKZ43=:APZZUSATZKZ43,"
                + "APZZUSATZ44=:APZZUSATZ44,"
                + "APZZUSATZKZ44=:APZZUSATZKZ44,"
                + "APZZUSATZ45=:APZZUSATZ45,"
                + "APZZUSATZKZ45=:APZZUSATZKZ45,"
                + "APZZUSATZ46=:APZZUSATZ46 "
                + " WHERE  "
                + "  APZMANDANT=:APZMANDANT AND APZART=:APZART  AND APZVAR=:APZVAR  AND APZANRKRS=:APZANRKRS  AND APZALFDNR=:APZALFDNR"
                + " AND APZSTUFE=:APZSTUFE";

            or1.Parameters.Add("APZMANDANT", OracleType.NVarChar).Value = dwData["APZMANDANT"].ToString();
            or1.Parameters.Add("APZART", OracleType.NVarChar).Value = dwData["APZART"].ToString();
            or1.Parameters.Add("APZVAR", OracleType.NVarChar).Value = dwData["APZVAR"].ToString();
            or1.Parameters.Add("APZANRKRS", OracleType.NVarChar).Value = dwData["APZANRKRS"].ToString();
            or1.Parameters.Add("APZALFDNR", OracleType.NVarChar).Value = dwData["APZALFDNR"].ToString();
            or1.Parameters.Add("APZSTUFE", OracleType.NVarChar).Value = dwData["APZSTUFE"].ToString();
            or1.Parameters.Add("APZKUNDNR", OracleType.NVarChar).Value = dwData["APZKUNDNR"].ToString();
            or1.Parameters.Add("APZZUSATZKZ46", OracleType.NVarChar).Value = dwData["APZZUSATZKZ46"].ToString();
            or1.Parameters.Add("APZZUSATZ47", OracleType.NVarChar).Value = dwData["APZZUSATZ47"].ToString();
            or1.Parameters.Add("APZZUSATZKZ47", OracleType.NVarChar).Value = dwData["APZZUSATZKZ47"].ToString();
            or1.Parameters.Add("APZZUSATZ48", OracleType.NVarChar).Value = dwData["APZZUSATZ48"].ToString();
            or1.Parameters.Add("APZZUSATZKZ48", OracleType.NVarChar).Value = dwData["APZZUSATZKZ48"].ToString();
            or1.Parameters.Add("APZZUSATZ49", OracleType.NVarChar).Value = dwData["APZZUSATZ49"].ToString();
            or1.Parameters.Add("APZZUSATZKZ49", OracleType.NVarChar).Value = dwData["APZZUSATZKZ49"].ToString();
            or1.Parameters.Add("APZZUSATZ50", OracleType.NVarChar).Value = dwData["APZZUSATZ50"].ToString();
            or1.Parameters.Add("APZZUSATZKZ50", OracleType.NVarChar).Value = dwData["APZZUSATZKZ50"].ToString();
            or1.Parameters.Add("APZZANRKRS1", OracleType.NVarChar).Value = dwData["APZZANRKRS1"].ToString();
            or1.Parameters.Add("APZZALFDNR1", OracleType.NVarChar).Value = dwData["APZZALFDNR1"].ToString();
            or1.Parameters.Add("APZZAKZ1", OracleType.NVarChar).Value = dwData["APZZAKZ1"].ToString();
            or1.Parameters.Add("APZZANRKRS2", OracleType.NVarChar).Value = dwData["APZZANRKRS2"].ToString();
            or1.Parameters.Add("APZZALFDNR2", OracleType.NVarChar).Value = dwData["APZZALFDNR2"].ToString();
            or1.Parameters.Add("APZZAKZ2", OracleType.NVarChar).Value = dwData["APZZAKZ2"].ToString();
            or1.Parameters.Add("APZZANRKRS3", OracleType.NVarChar).Value = dwData["APZZANRKRS3"].ToString();
            or1.Parameters.Add("APZZALFDNR3", OracleType.NVarChar).Value = dwData["APZZALFDNR3"].ToString();
            or1.Parameters.Add("APZZAKZ3", OracleType.NVarChar).Value = dwData["APZZAKZ3"].ToString();
            or1.Parameters.Add("APZZANRKRS4", OracleType.NVarChar).Value = dwData["APZZANRKRS4"].ToString();
            or1.Parameters.Add("APZZALFDNR4", OracleType.NVarChar).Value = dwData["APZZALFDNR4"].ToString();
            or1.Parameters.Add("APZZAKZ4", OracleType.NVarChar).Value = dwData["APZZAKZ4"].ToString();
            or1.Parameters.Add("APZPRIO", OracleType.NVarChar).Value = dwData["APZPRIO"].ToString();
            or1.Parameters.Add("APZAENDZL", OracleType.NVarChar).Value = dwData["APZAENDZL"].ToString();
            or1.Parameters.Add("APZAENDBEN", OracleType.NVarChar).Value = dwData["APZAENDBEN"].ToString();
            or1.Parameters.Add("APZAENDDAT", OracleType.NVarChar).Value = dwData["APZAENDDAT"].ToString();
            or1.Parameters.Add("APZNEUBEN", OracleType.NVarChar).Value = dwData["APZNEUBEN"].ToString();
            or1.Parameters.Add("APZNEUDAT", OracleType.NVarChar).Value = dwData["APZNEUDAT"].ToString();
            or1.Parameters.Add("APZFILLER", OracleType.NVarChar).Value = dwData["APZFILLER"].ToString();
            or1.Parameters.Add("APZWERK", OracleType.NVarChar).Value = dwData["APZWERK"].ToString();
            or1.Parameters.Add("APZABT", OracleType.NVarChar).Value = dwData["APZABT"].ToString();
            or1.Parameters.Add("APZSPEZIF", OracleType.NVarChar).Value = dwData["APZSPEZIF"].ToString();
            or1.Parameters.Add("APZSPSTA", OracleType.NVarChar).Value = dwData["APZSPSTA"].ToString();
            or1.Parameters.Add("APZSPGRD", OracleType.NVarChar).Value = dwData["APZSPGRD"].ToString();
            or1.Parameters.Add("APZSTDKALK", OracleType.NVarChar).Value = dwData["APZSTDKALK"].ToString();
            or1.Parameters.Add("APZZUSTAND", OracleType.NVarChar).Value = dwData["APZZUSTAND"].ToString();
            or1.Parameters.Add("APZZUSATZ1", OracleType.NVarChar).Value = dwData["APZZUSATZ1"].ToString();
            or1.Parameters.Add("APZZUSATZKZ1", OracleType.NVarChar).Value = dwData["APZZUSATZKZ1"].ToString();
            or1.Parameters.Add("APZZUSATZ2", OracleType.NVarChar).Value = dwData["APZZUSATZ2"].ToString();
            or1.Parameters.Add("APZZUSATZKZ2", OracleType.NVarChar).Value = dwData["APZZUSATZKZ2"].ToString();
            or1.Parameters.Add("APZZUSATZ3", OracleType.NVarChar).Value = dwData["APZZUSATZ3"].ToString();
            or1.Parameters.Add("APZZUSATZKZ3", OracleType.NVarChar).Value = dwData["APZZUSATZKZ3"].ToString();
            or1.Parameters.Add("APZZUSATZ4", OracleType.NVarChar).Value = dwData["APZZUSATZ4"].ToString();
            or1.Parameters.Add("APZZUSATZKZ4", OracleType.NVarChar).Value = dwData["APZZUSATZKZ4"].ToString();
            or1.Parameters.Add("APZZUSATZ5", OracleType.NVarChar).Value = dwData["APZZUSATZ5"].ToString();
            or1.Parameters.Add("APZZUSATZKZ5", OracleType.NVarChar).Value = dwData["APZZUSATZKZ5"].ToString();
            or1.Parameters.Add("APZZUSATZ6", OracleType.NVarChar).Value = dwData["APZZUSATZ6"].ToString();
            or1.Parameters.Add("APZZUSATZKZ6", OracleType.NVarChar).Value = dwData["APZZUSATZKZ6"].ToString();
            or1.Parameters.Add("APZZUSATZ7", OracleType.NVarChar).Value = dwData["APZZUSATZ7"].ToString();
            or1.Parameters.Add("APZZUSATZKZ7", OracleType.NVarChar).Value = dwData["APZZUSATZKZ7"].ToString();
            or1.Parameters.Add("APZZUSATZ8", OracleType.NVarChar).Value = dwData["APZZUSATZ8"].ToString();
            or1.Parameters.Add("APZZUSATZKZ8", OracleType.NVarChar).Value = dwData["APZZUSATZKZ8"].ToString();
            or1.Parameters.Add("APZZUSATZ9", OracleType.NVarChar).Value = dwData["APZZUSATZ9"].ToString();
            or1.Parameters.Add("APZZUSATZKZ9", OracleType.NVarChar).Value = dwData["APZZUSATZKZ9"].ToString();
            or1.Parameters.Add("APZZUSATZ10", OracleType.NVarChar).Value = dwData["APZZUSATZ10"].ToString();
            or1.Parameters.Add("APZZUSATZKZ10", OracleType.NVarChar).Value = dwData["APZZUSATZKZ10"].ToString();
            or1.Parameters.Add("APZZUSATZ11", OracleType.NVarChar).Value = dwData["APZZUSATZ11"].ToString();
            or1.Parameters.Add("APZZUSATZKZ11", OracleType.NVarChar).Value = dwData["APZZUSATZKZ11"].ToString();
            or1.Parameters.Add("APZZUSATZ12", OracleType.NVarChar).Value = dwData["APZZUSATZ12"].ToString();
            or1.Parameters.Add("APZZUSATZKZ12", OracleType.NVarChar).Value = dwData["APZZUSATZKZ12"].ToString();
            or1.Parameters.Add("APZZUSATZ13", OracleType.NVarChar).Value = dwData["APZZUSATZ13"].ToString();
            or1.Parameters.Add("APZZUSATZKZ13", OracleType.NVarChar).Value = dwData["APZZUSATZKZ13"].ToString();
            or1.Parameters.Add("APZZUSATZ14", OracleType.NVarChar).Value = dwData["APZZUSATZ14"].ToString();
            or1.Parameters.Add("APZZUSATZKZ14", OracleType.NVarChar).Value = dwData["APZZUSATZKZ14"].ToString();
            or1.Parameters.Add("APZZUSATZ15", OracleType.NVarChar).Value = dwData["APZZUSATZ15"].ToString();
            or1.Parameters.Add("APZZUSATZKZ15", OracleType.NVarChar).Value = dwData["APZZUSATZKZ15"].ToString();
            or1.Parameters.Add("APZZUSATZ16", OracleType.NVarChar).Value = dwData["APZZUSATZ16"].ToString();
            or1.Parameters.Add("APZZUSATZKZ16", OracleType.NVarChar).Value = dwData["APZZUSATZKZ16"].ToString();
            or1.Parameters.Add("APZZUSATZ17", OracleType.NVarChar).Value = dwData["APZZUSATZ17"].ToString();
            or1.Parameters.Add("APZZUSATZKZ17", OracleType.NVarChar).Value = dwData["APZZUSATZKZ17"].ToString();
            or1.Parameters.Add("APZZUSATZ18", OracleType.NVarChar).Value = dwData["APZZUSATZ18"].ToString();
            or1.Parameters.Add("APZZUSATZKZ18", OracleType.NVarChar).Value = dwData["APZZUSATZKZ18"].ToString();
            or1.Parameters.Add("APZZUSATZ19", OracleType.NVarChar).Value = dwData["APZZUSATZ19"].ToString();
            or1.Parameters.Add("APZZUSATZKZ19", OracleType.NVarChar).Value = dwData["APZZUSATZKZ19"].ToString();
            or1.Parameters.Add("APZZUSATZ20", OracleType.NVarChar).Value = dwData["APZZUSATZ20"].ToString();
            or1.Parameters.Add("APZZUSATZKZ20", OracleType.NVarChar).Value = dwData["APZZUSATZKZ20"].ToString();
            or1.Parameters.Add("APZZUSATZ21", OracleType.NVarChar).Value = dwData["APZZUSATZ21"].ToString();
            or1.Parameters.Add("APZZUSATZKZ21", OracleType.NVarChar).Value = dwData["APZZUSATZKZ21"].ToString();
            or1.Parameters.Add("APZZUSATZ22", OracleType.NVarChar).Value = dwData["APZZUSATZ22"].ToString();
            or1.Parameters.Add("APZZUSATZKZ22", OracleType.NVarChar).Value = dwData["APZZUSATZKZ22"].ToString();
            or1.Parameters.Add("APZZUSATZ23", OracleType.NVarChar).Value = dwData["APZZUSATZ23"].ToString();
            or1.Parameters.Add("APZZUSATZKZ23", OracleType.NVarChar).Value = dwData["APZZUSATZKZ23"].ToString();
            or1.Parameters.Add("APZZUSATZ24", OracleType.NVarChar).Value = dwData["APZZUSATZ24"].ToString();
            or1.Parameters.Add("APZZUSATZKZ24", OracleType.NVarChar).Value = dwData["APZZUSATZKZ24"].ToString();
            or1.Parameters.Add("APZZUSATZ25", OracleType.NVarChar).Value = dwData["APZZUSATZ25"].ToString();
            or1.Parameters.Add("APZZUSATZKZ25", OracleType.NVarChar).Value = dwData["APZZUSATZKZ25"].ToString();
            or1.Parameters.Add("APZZUSATZ26", OracleType.NVarChar).Value = dwData["APZZUSATZ26"].ToString();
            or1.Parameters.Add("APZZUSATZKZ26", OracleType.NVarChar).Value = dwData["APZZUSATZKZ26"].ToString();
            or1.Parameters.Add("APZZUSATZ27", OracleType.NVarChar).Value = dwData["APZZUSATZ27"].ToString();
            or1.Parameters.Add("APZZUSATZKZ27", OracleType.NVarChar).Value = dwData["APZZUSATZKZ27"].ToString();
            or1.Parameters.Add("APZZUSATZ28", OracleType.NVarChar).Value = dwData["APZZUSATZ28"].ToString();
            or1.Parameters.Add("APZZUSATZKZ28", OracleType.NVarChar).Value = dwData["APZZUSATZKZ28"].ToString();
            or1.Parameters.Add("APZZUSATZ29", OracleType.NVarChar).Value = dwData["APZZUSATZ29"].ToString();
            or1.Parameters.Add("APZZUSATZKZ29", OracleType.NVarChar).Value = dwData["APZZUSATZKZ29"].ToString();
            or1.Parameters.Add("APZZUSATZ30", OracleType.NVarChar).Value = dwData["APZZUSATZ30"].ToString();
            or1.Parameters.Add("APZZUSATZKZ30", OracleType.NVarChar).Value = dwData["APZZUSATZKZ30"].ToString();
            or1.Parameters.Add("APZZUSATZ31", OracleType.NVarChar).Value = dwData["APZZUSATZ31"].ToString();
            or1.Parameters.Add("APZZUSATZKZ31", OracleType.NVarChar).Value = dwData["APZZUSATZKZ31"].ToString();
            or1.Parameters.Add("APZZUSATZ32", OracleType.NVarChar).Value = dwData["APZZUSATZ32"].ToString();
            or1.Parameters.Add("APZZUSATZKZ32", OracleType.NVarChar).Value = dwData["APZZUSATZKZ32"].ToString();
            or1.Parameters.Add("APZZUSATZ33", OracleType.NVarChar).Value = dwData["APZZUSATZ33"].ToString();
            or1.Parameters.Add("APZZUSATZKZ33", OracleType.NVarChar).Value = dwData["APZZUSATZKZ33"].ToString();
            or1.Parameters.Add("APZZUSATZ34", OracleType.NVarChar).Value = dwData["APZZUSATZ34"].ToString();
            or1.Parameters.Add("APZZUSATZKZ34", OracleType.NVarChar).Value = dwData["APZZUSATZKZ34"].ToString();
            or1.Parameters.Add("APZZUSATZ35", OracleType.NVarChar).Value = dwData["APZZUSATZ35"].ToString();
            or1.Parameters.Add("APZZUSATZKZ35", OracleType.NVarChar).Value = dwData["APZZUSATZKZ35"].ToString();
            or1.Parameters.Add("APZZUSATZ36", OracleType.NVarChar).Value = dwData["APZZUSATZ36"].ToString();
            or1.Parameters.Add("APZZUSATZKZ36", OracleType.NVarChar).Value = dwData["APZZUSATZKZ36"].ToString();
            or1.Parameters.Add("APZZUSATZ37", OracleType.NVarChar).Value = dwData["APZZUSATZ37"].ToString();
            or1.Parameters.Add("APZZUSATZKZ37", OracleType.NVarChar).Value = dwData["APZZUSATZKZ37"].ToString();
            or1.Parameters.Add("APZZUSATZ38", OracleType.NVarChar).Value = dwData["APZZUSATZ38"].ToString();
            or1.Parameters.Add("APZZUSATZKZ38", OracleType.NVarChar).Value = dwData["APZZUSATZKZ38"].ToString();
            or1.Parameters.Add("APZZUSATZ39", OracleType.NVarChar).Value = dwData["APZZUSATZ39"].ToString();
            or1.Parameters.Add("APZZUSATZKZ39", OracleType.NVarChar).Value = dwData["APZZUSATZKZ39"].ToString();
            or1.Parameters.Add("APZZUSATZ40", OracleType.NVarChar).Value = dwData["APZZUSATZ40"].ToString();
            or1.Parameters.Add("APZZUSATZKZ40", OracleType.NVarChar).Value = dwData["APZZUSATZKZ40"].ToString();
            or1.Parameters.Add("APZZUSATZ41", OracleType.NVarChar).Value = dwData["APZZUSATZ41"].ToString();
            or1.Parameters.Add("APZZUSATZKZ41", OracleType.NVarChar).Value = dwData["APZZUSATZKZ41"].ToString();
            or1.Parameters.Add("APZZUSATZ42", OracleType.NVarChar).Value = dwData["APZZUSATZ42"].ToString();
            or1.Parameters.Add("APZZUSATZKZ42", OracleType.NVarChar).Value = dwData["APZZUSATZKZ42"].ToString();
            or1.Parameters.Add("APZZUSATZ43", OracleType.NVarChar).Value = dwData["APZZUSATZ43"].ToString();
            or1.Parameters.Add("APZZUSATZKZ43", OracleType.NVarChar).Value = dwData["APZZUSATZKZ43"].ToString();
            or1.Parameters.Add("APZZUSATZ44", OracleType.NVarChar).Value = dwData["APZZUSATZ44"].ToString();
            or1.Parameters.Add("APZZUSATZKZ44", OracleType.NVarChar).Value = dwData["APZZUSATZKZ44"].ToString();
            or1.Parameters.Add("APZZUSATZ45", OracleType.NVarChar).Value = dwData["APZZUSATZ45"].ToString();
            or1.Parameters.Add("APZZUSATZKZ45", OracleType.NVarChar).Value = dwData["APZZUSATZKZ45"].ToString();
            or1.Parameters.Add("APZZUSATZ46", OracleType.NVarChar).Value = dwData["APZZUSATZ46"].ToString();
            Connect2Proxy(or1);
        }
        public DataSet QueryAPZUORD(DataRow dwData, int option = 1)
        {
            DataSet setReturn = new DataSet();
            DataSet Result = new DataSet();
            DataTable tbLocal = null;
            OracleCommand or1;
            // APZMANDANT  APZART APZVAR APZANRKRS APZALFDNR APZSTUFE

            or1 = OracleDB.CreateCommand();
            switch (option)
            {
                case 0:
                    or1.CommandText = "SELECT * FROM APZUORD WHERE  ROWNUM<2 ";
                    break;
                case 1:
                    or1.CommandText = "SELECT * FROM APZUORD WHERE  "
                        + "  APZMANDANT=:APZMANDANT AND APZART=:APZART AND APZVAR=:APZVAR AND APZANRKRS=:APZANRKRS AND "
                        + "APZALFDNR=:APZALFDNR AND APZSTUFE=:APZSTUFE";
                    or1.Parameters.Add("APZMANDANT", OracleType.NVarChar).Value = dwData["APZMANDANT"].ToString();
                    or1.Parameters.Add("APZART", OracleType.NVarChar).Value = dwData["APZART"].ToString();
                    or1.Parameters.Add("APZVAR", OracleType.NVarChar).Value = dwData["APZVAR"].ToString();
                    or1.Parameters.Add("APZANRKRS", OracleType.NVarChar).Value = dwData["APZANRKRS"].ToString(); ;
                    or1.Parameters.Add("APZALFDNR", OracleType.NVarChar).Value = dwData["APZALFDNR"].ToString();
                    or1.Parameters.Add("APZSTUFE", OracleType.NVarChar).Value = dwData["APZSTUFE"].ToString();
                    break;
                case 2:
                    or1.CommandText = "SELECT DISTINCT P.* FROM APZUORD P"
                        + " JOIN WDECK ON APZMANDANT=WDMANDANT AND WDART=APZART AND (APZSTUFE='R' OR APZSTUFE='F') "
                        + " WHERE WDMANDANT=:WDMANDANT AND WDAUFKRS=:WDAUFKRS AND WDAUFLFD=:WDAUFLFD";
                    or1.Parameters.Add("WDMANDANT", OracleType.NVarChar).Value = dwData["WDMANDANT"].ToString();
                    or1.Parameters.Add("WDAUFKRS", OracleType.NVarChar).Value = dwData["WDAUFKRS"].ToString();
                    or1.Parameters.Add("WDAUFLFD", OracleType.NVarChar).Value = dwData["WDAUFLFD"].ToString();
                    break;
                case 3:
                    or1.CommandText = "SELECT DISTINCT P.* FROM APZUORD P "
                        + "JOIN WASTKE ON WAKKART=APZART "
                        + " JOIN WDECK ON WAKMANDANT=WDMANDANT AND WDART=WAKART AND (APZSTUFE='K' OR APZSTUFE='B')"
                        + " WHERE WDMANDANT=:WDMANDANT AND WDAUFKRS=:WDAUFKRS AND WDAUFLFD=:WDAUFLFD";
                    or1.Parameters.Add("WDMANDANT", OracleType.NVarChar).Value = dwData["WDMANDANT"].ToString();
                    or1.Parameters.Add("WDAUFKRS", OracleType.NVarChar).Value = dwData["WDAUFKRS"].ToString();
                    or1.Parameters.Add("WDAUFLFD", OracleType.NVarChar).Value = dwData["WDAUFLFD"].ToString();
                    break;
                case 4:
                    or1.CommandText = "SELECT DISTINCT P.* FROM APZUORD P "
                        + " JOIN WASTGA ON WAGGART=APZART "
                        + "  JOIN WDECK ON WAGMANDANT=WDMANDANT AND WAGART=WDART AND (APZSTUFE='G') "
                        + " WHERE WDMANDANT=:WDMANDANT AND WDAUFKRS=:WDAUFKRS AND WDAUFLFD=:WDAUFLFD";
                    or1.Parameters.Add("WDMANDANT", OracleType.NVarChar).Value = dwData["WDMANDANT"].ToString();
                    or1.Parameters.Add("WDAUFKRS", OracleType.NVarChar).Value = dwData["WDAUFKRS"].ToString();
                    or1.Parameters.Add("WDAUFLFD", OracleType.NVarChar).Value = dwData["WDAUFLFD"].ToString();
                    break;
                case 5:
                    or1.CommandText = "SELECT DISTINCT P.* FROM APZUORD P "
                        + " JOIN BASTGA ON BAGGART=APZART "
                        + " JOIN WASTKE ON WAKKART=BAGART "
                        + "  JOIN WDECK ON WAKMANDANT=WDMANDANT AND WAKART=WDART AND (APZSTUFE='G') "
                        + " WHERE WDMANDANT=:WDMANDANT AND WDAUFKRS=:WDAUFKRS AND WDAUFLFD=:WDAUFLFD";
                    or1.Parameters.Add("WDMANDANT", OracleType.NVarChar).Value = dwData["WDMANDANT"].ToString();
                    or1.Parameters.Add("WDAUFKRS", OracleType.NVarChar).Value = dwData["WDAUFKRS"].ToString();
                    or1.Parameters.Add("WDAUFLFD", OracleType.NVarChar).Value = dwData["WDAUFLFD"].ToString();
                    break;
                default:
                    break;

            }

            Result = Connect2Proxy(or1);
            if (Result.Tables.Count > 0)
            {
                tbLocal = Result.Tables[0];
                tbLocal.TableName = "APZUORD";
            }
            setReturn.Merge(Result);
            return setReturn;
        }
    }
}
